﻿/***********************************************************************************************
 * 
 * ProjectName: WMSSoft.Lib.WinKStart
 * 
 * Description: Class to read Usersettings from Disk
 * 
 * Created:     29.04.2015
 * 
 * Author:      matthias wagler - matthias@WMSSoft.de
 * 
 * Copyright:   Copyright 2015 by WMSSoft.net
 * 
 * License:     GPLv3
 * 
 * History:     29.04.2015 - matthias wagler matthias@WMSSoft.de   -   Created
 * 
 **********************************************************************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using WMSSoft.Lib.Enums;
using WMSSoft.Lib.WinKStart.Abstract;

namespace WMSSoft.Lib.WinKStart.Model
{
    [Serializable()]
    public class BehaviorSettings : CModelBase
    {
        byte m_ButtonMouseOpen = 1; //Option Button Mouse Opens (0 = NOthing, 1 = WinKStart, 2 = Metro)
        byte m_ButtonKeyboardOpen = 1; //Option Button Key Opens (0 = NOthing, 1 = WinKStart, 2 = Metro)
        byte m_ShiftButtonMouseOpen = 2; //Option Shift + Button Mouse Opens (0 = NOthing, 1 = WinKStart, 2 = Metro)
        byte m_ShiftButtonKeyboardOpen = 2; //Option Shift + Button Key Opens (0 = NOthing, 1 = WinKStart, 2 = Metro)
        byte m_MoveButtonMouseOpen = 0; //Option Move Button Mouse Opens (0 = NOthing, 1 = WinKStart, 2 = Metro)

        int m_MoveButtonMouseOpenDelayTime = 100; //Option Delay Time MBMO

      
        string m_Option_TranslationPath = "languageFiles"; //Option Path to LanguageFiles
        eSelectEvent m_SelectEvent = eSelectEvent.MouseClick;
        string m_DefaultStyle = "Default";
        string m_ActiveRegionOnStart = "";

        public BehaviorSettings()
        {

        }

        public eSelectEvent SelectEvent
        {
            get { return m_SelectEvent; }
            set { 
                m_SelectEvent = value;
                OnPropertyChanged();
            }
        }

        public string DefaultStyle
        {
            get { return m_DefaultStyle; }
            set { 
                m_DefaultStyle = value;
                OnPropertyChanged();
            }
        }

        public string ActiveRegionOnStart
        {
            get { return m_ActiveRegionOnStart; }
            set {
                m_ActiveRegionOnStart = value;
                OnPropertyChanged();
            }
        }

        public byte ButtonMouseOpen
        {
            get { return m_ButtonMouseOpen; }
            set { 
                m_ButtonMouseOpen = value;
                OnPropertyChanged();
            }
        }

        public byte ButtonKeyboardOen
        {
            get { return m_ButtonKeyboardOpen; }
            set { 
                m_ButtonKeyboardOpen = value;
                OnPropertyChanged();
            }
        }

        public byte ShiftButtonMouseOpen
        {
            get { return m_ShiftButtonMouseOpen; }
            set { 
                m_ShiftButtonMouseOpen = value;
                OnPropertyChanged();
            }
        }

        public byte ShiftButtonKeyboardOpen
        {
            get { return m_ShiftButtonKeyboardOpen; }
            set { 
                m_ShiftButtonKeyboardOpen = value;
                OnPropertyChanged();
            }
        }

        public byte MoveButtonMouseOpen
        {
            get { return m_MoveButtonMouseOpen; }
            set { 
                m_MoveButtonMouseOpen = value;
                OnPropertyChanged();
            }
        }



        public int MoveButtonMouseOpenDelayTime
        {
            get { return m_MoveButtonMouseOpenDelayTime; }
            set { 
                m_MoveButtonMouseOpenDelayTime = value;
                OnPropertyChanged();
            }
        }

        public string TranslationPath
        {
            get { return m_Option_TranslationPath; }
            set { 
                m_Option_TranslationPath = value;
                OnPropertyChanged();
            }
        }
    }
}
